home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / pdcurs21 / private / _sanity.c < prev    next >
C/C++ Source or Header  |  1993-06-18  |  2KB  |  117 lines

  1. #define    CURSES_LIBRARY    1
  2. #include <curses.h>
  3.  
  4. #ifdef PDCDEBUG
  5. char *rcsid__sanity = "$Header: C:\CURSES\private\RCS\_sanity.c 2.1 1993/06/18 20:22:58 MH Rel MH $";
  6. #endif
  7.  
  8.  
  9.  
  10.  
  11. /*man-start*********************************************************************
  12.  
  13.   PDC_sanity_check() - A video adapter identification sanity check
  14.  
  15.   PDCurses Description:
  16.      This is a private PDCurses routine.
  17.  
  18.      This routine will force sane values for various control flags.
  19.  
  20.   PDCurses Return Value:
  21.      This function returns OK on success and ERR on error.
  22.  
  23.   PDCurses Errors:
  24.      No errors are defined for this function.
  25.  
  26.   Portability:
  27.      PDCurses    int PDC_sanity_check( int adapter );
  28.  
  29. **man-end**********************************************************************/
  30.  
  31. int    PDC_sanity_check(int adapter)
  32. {
  33.     int    fontsize = PDC_get_font();
  34.     int    rows     = PDC_get_rows();
  35.  
  36. #ifdef PDCDEBUG
  37.     if (trace_on) PDC_debug("PDC_sanity_check() - called: Adapter %d\n",adapter);
  38. #endif
  39.  
  40.     switch (adapter)
  41.     {
  42.     case _EGACOLOR:
  43.     case _EGAMONO:
  44.         switch (rows)
  45.         {
  46.         case 25:    break;
  47.         case 43:    break;
  48.         default:
  49.             _cursvar.bogus_adapter = TRUE;
  50.             break;
  51.         }
  52.  
  53.         switch (fontsize)
  54.         {
  55.         case _FONT8:    break;
  56.         case _FONT14:    break;
  57.         default:
  58.             _cursvar.bogus_adapter = TRUE;
  59.             break;
  60.         }
  61.         break;
  62.  
  63.     case _VGACOLOR:
  64.     case _VGAMONO:
  65.  
  66. /*                                                                  */
  67. /* lets be reasonably flexible with VGAs - they could be Super VGAs */
  68. /* capable of displaying any number of lines. MH 10-Jun-92          */
  69. /* This also applies to font size.            MH 16-Jun-92          */
  70. /*
  71.         switch (rows)
  72.         {
  73.         case 25:    break;
  74.         case 43:    break;
  75.         case 50:    break;
  76.         default:
  77.             _cursvar.bogus_adapter = TRUE;
  78.             break;
  79.         }
  80.  
  81.         switch (fontsize)
  82.         {
  83.         case _FONT8:    break;
  84.         case _FONT14:    break;
  85.         case _FONT16:    break;
  86.         default:
  87.             _cursvar.bogus_adapter = TRUE;
  88.             break;
  89.         }
  90. */
  91.         break;
  92.  
  93.     case _CGA:
  94.     case _MDA:
  95.     case _MCGACOLOR:
  96.     case _MCGAMONO:
  97.         switch (rows)
  98.         {
  99.         case 25:    break;
  100.         default:
  101.             _cursvar.bogus_adapter = TRUE;
  102.             break;
  103.         }
  104.         break;
  105.  
  106.     default:
  107.         _cursvar.bogus_adapter = TRUE;
  108.         break;
  109.     }
  110.     if (_cursvar.bogus_adapter)
  111.     {
  112.         _cursvar.sizeable    = FALSE;
  113.         _cursvar.direct_video    = FALSE;
  114.     }
  115.     return (adapter);
  116. }
  117.